package com.exam.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.exam.dto.StudentExamRecordExcelDto;
import com.exam.entity.Exam;
import com.exam.entity.ExamRecord;
import com.exam.vo.AddExamByBankVo;
import com.exam.vo.AddExamByQuestionVo;
import com.exam.vo.ExamQueryVo;
import com.exam.vo.PageResponse;

import java.util.Collection;
import java.util.List;
import java.util.function.Supplier;

/**
 * @Author 小聋包
 * @Date 2024/4/16 19:47
 * @Version 1.0
 */
public interface ExamService extends IService<Exam> {
    PageResponse<Exam> getExamPage(ExamQueryVo examQueryVo);

    AddExamByQuestionVo getExamInfoById(Integer examId);


    void operationExam(Integer type, String ids);

    void addExamByBank(AddExamByBankVo addExamByBankVo);

    void addExamByQuestionList(AddExamByQuestionVo addExamByQuestionVo);

    void updateExamInfo(AddExamByQuestionVo addExamByQuestionVo);

    PageResponse<ExamRecord> getExamRecord(Integer examId, Integer pageNo, Integer pageSize);

    List<String> getExamPassRateEchartData();

    List<String> getExamNumbersEchartData();

    List<StudentExamRecordExcelDto> getAllStudentScoreByExamId(Integer examId);
}
